#define _CRT_SECURE_NO_WARNINGS

#include "SQL.h"

void TESTSQlist1()
{
	SLTNode* phead = NULL;
	PushSQListFront(&phead, 1);
	PushSQListFront(&phead, 2);
	PushSQListFront(&phead, 3);
	PushSQListFront(&phead, 4);

	SQListPrint(phead);

}

void TESTSQlist2()
{
	SLTNode* phead = NULL;
	PushSQListBack(&phead, 1);
	PushSQListBack(&phead, 2);
	PushSQListBack(&phead, 3);
	PushSQListBack(&phead, 4);

	SQListPrint(phead);
	PopSOListFront(&phead);
	PopSOListFront(&phead);
	SQListPrint(phead);
	PopSOListFront(&phead);
	PopSOListFront(&phead);

	SQListPrint(phead);
}

//void TESTSQlist3()
//{
//	SLTNode* phead = NULL;
//	PushSQListBack(&phead, 1);
//	PushSQListBack(&phead, 2);
//	PushSQListBack(&phead, 3);
//	PushSQListBack(&phead, 4);
//
//	SQListPrint(phead);
//	PopSOListBack(&phead);
//	PopSOListBack(&phead);
//	SQListPrint(phead);
//	PopSOListBack(&phead);
//	PopSOListBack(&phead);
//	PopSOListBack(&phead);
//
//	SQListPrint(phead);
//
//
//}

void TESTSQlist3()
{
	SLTNode* phead = NULL;
	PushSQListBack(&phead, 1);
	PushSQListBack(&phead, 2);
	PushSQListBack(&phead, 3);
	PushSQListBack(&phead, 4);
	

}

void TESTSQlist4()
{
	SLTNode* phead = NULL;
	PushSQListBack(&phead, 1);
	PushSQListBack(&phead, 2);
	PushSQListBack(&phead, 3);
	PushSQListBack(&phead, 4);

	SLTNode* pos = FindSList(phead, 1);
	if (pos == NULL)
	{
		return;
	}
	InsertSQListFront(&phead, pos, 30);
	SQListPrint(phead);

	pos = FindSList(phead, 4);
	if (pos == NULL)
	{
		return;
	}
	InsertSQListFront(&phead, pos, 10);
	SQListPrint(phead);

	pos = FindSList(phead, 30);
	DelSOList(&phead, pos);
	SQListPrint(phead);

	pos = FindSList(phead, 10);
	DelSOList(&phead, pos);
	SQListPrint(phead);

	pos = FindSList(phead, 4);
	DelSOList(&phead, pos);
	SQListPrint(phead);

	pos = FindSList(phead, 1);
	DelSOList(&phead, pos);
	SQListPrint(phead);

	pos = FindSList(phead, 2);
	DelSOList(&phead, pos);
	SQListPrint(phead);

}
int main()
{
	TESTSQlist4();
	return 0;
}

